/*
 * Bulkquote.h
 *
 *  Created on: 2020年12月8日
 *      Author: san
 */

#ifndef BULKQUOTE_H_
#define BULKQUOTE_H_

#include <string>

#include "Discquote.h"
#include "Rectangle.h"

class Bulk_quote: public Disc_quote {
public:
	Bulk_quote() {std::cout << "Bulk_quote()" << std::endl;};  // 如果基类中没有定义默认的构造函数，将出错

	using Disc_quote::Disc_quote;
//	Bulk_quote(const std::string &s, double p, std::size_t qty, double disc):
//		Disc_quote(s, p, qty, disc) {};
	Bulk_quote(const Bulk_quote &b): Disc_quote(b)  { std::cout << "Bulk_quote(const Bulk_quote &b)" << std::endl; }
	virtual ~Bulk_quote();

	friend void test(Bulk_quote &bq) { std::cout << bq.test << std::endl; }  // 可以访问自己的
//	friend void test1(Disc_quote &dq) { std::cout << dq.test << std::endl; }  // 不能访问base::test
	double net_price(std::size_t n) const override;

	// clone
	Bulk_quote *clone() const & { return new Bulk_quote(*this); }
	Bulk_quote *clone() && { return new Bulk_quote(std::move(*this)); }
};

#endif /* BULKQUOTE_H_ */
